Wichtig !!! | N E U E S ... | Inhalt | Hotline | Stichwortverzeichnis |
Kapitel 6-2
Fehlermeldungen des Omikron Basic Compilers
Fehlermeldungen des Compilers werden während des Übersetzungsvorgangs im Compilerfenster ausgegeben und führen zum Abbruch des Compilierens. Durch Anklicken der Fehlermeldung kann gleich an die entsprechende Stelle im Programm gesprungen werden.
Falscher Gebrauch von DEFAULT
DEFAULT oder OTHERWISE müssen immer die letzten Zweige einer SELECT...CASE Struktur sein.
MEMORY_BLOCK zu lang
Es wurde versucht, einen MEMORY_BLOCK zu definieren, der größer als 32 MB ist.
Struktur ist zu lang
Omikron Basic 6 erlaubt bei IF...THEN...ELSE...ENDIF, FOR...NEXT, REPEAT...UNTIL und WHILE...WEND Strukturlängen
von bis zu 32 MB, so daß diese Fehlermeldung hierbei kaum noch auftreten kann. SELECT...CASE...END_SELECT
Strukturen dürfen allerdings maximal 32 KB umfassen und können daher zu dieser Meldung führen. Als
Abhilfe empfiehlt es sich, Programmteile aus der Struktur auszulagen (z.B. indem man sie in eine Prozedur packt
und diese dann aus der Struktur heraus aufruft).
SWAP-Typ passt nicht
Hinter einem SWAP-Befehl stehen unterschiedliche Variablentypen.
Typ passt nicht
Sie versuchen beim Aufruf einer Prozedur eine Zahl an einen String zu übergeben oder umgekehrt.
Uncompilierte Modify-Operation
+= und *= sind zusammen mit Strings nicht erlaubt.
Undefinierte Statements oder DIMs
GOTO, GOSUB etc. zeigen auf Zeilen oder Labels, die nicht existieren. Ein Variablenfeld muß dimensioniert
werden, bevor es benutzt wird. Nach jedem CLEAR müssen Felder neu dimensioniert werden.
Unerlaubte Konstanten-Zuweisung
Sie haben einer Konstanten mindestens zweimal einen Wert zugewiesen oder der Ausdruck, den Sie der Konstante zuweisen
wollenm, ist nicht konstant.
Unerlaubter Konstanten-Typ
Felder und Strings sind als Konstanten nicht zugelassen. Verwenden Sie als Konstanten nur Einzel-Variablen.
Unerlaubtes EXIT
EXIT darf nur ohne Parameter, als EXIT 1 oder als EXIT -1 benutzt werden. EXIT TO ist nur zum Verlassen einer Schleife
erlaubt, nicht aber zum Verlassen von Prozeduren und Funktionen.
Ungleiche Matrixtypen
Es wurde versucht, eine Matrixoperation auf zwei Matrizen unterschiedlichen Datentyps anzuwenden.
Zu viele Konstanten
Da der PowerPC-Prozessor keine Immediate-Operanden mit mehr als 16 Bit erlaubt, müssen alle Konstanten in
einer Tabelle untergebracht werden. Omikron Basic reserviert dafür 64 KB. Wenn Sie mehr Konstanten benutzen,
als in diese Tabelle passen, erscheint diese Fehlermeldung.
Zu viele Parameter
Dem Befehl MAC_OS wurde zu viel Parameter übergeben. Für die Übergabe von Parametern stehen maximal
252 Byte zur Verfügung.
Zu viele Variablen
Der Variablenbereich im Omikron Basic umfasst 64K. Die Werte von Einzelvariablen befinden sich direkt in diesem
Speicherbereich, während bei Strings und Feldern nur ein Pointer auf das entsprechende Objekt im Variablensegment
angelegt wird. Auch sehr lange Programme über 1 MB benötigen im allgemeinen kaum mehr als 16K für
Ihre Variablen. Sollten Sie doch einmal Probleme haben, so können Sie Platz einsparen, indem Sie statt
Einzelvariablen Feldelemente verwenden (z.B. statt A0,A1,A2,A3,A4,A5 A(0),A(1),A(2),A(3),A(4),A(5)).
Dann werden statt der 24 Byte für die 6 Einzelvariablen nur noch 4 Byte für den Arraypointer benötigt.
Zu wenig Speicher reserviert
Der Compiler hat nicht genug freien Speicher zur Verfügung, um das Programm zu Ende zu übersetzen. Sie
können in dem Menü 'Modus/Speichereinstellungen' dem Omikron Basic mehr Speicher zuweisen. Weitere Erklärungen
siehe in dem Kapitel 'Der Editor'.
Hinweis:
Es können noch eine Reihe anderer Fehlermeldungen auftreten. Diese sind entweder selbsterklärend (z.B.
IF ohne THEN) oder für die Programmierer des Omikron Basics bestimmt, um Fehler im Compiler ausfindig zu machen.
Sollte eine für Sie unverständliche Fehlermeldung auftreten, so schicken Sie bitte das Programm, bei
dessen Compilierung dieser Fehler auftritt, an Uwe Berkhan, Softwareentwicklung, Alt-Isenhagen 19, D-29386 Hankensbüttel,
Germany
Warnmeldungen des Compilers
werden während des Übersetzungsvorgangs im Compilerfenster ausgegeben und stellen Warnungen oder Hinweise
dar, die zu Problemen bei der späteren Programmausführung führen können. Die Compilierung wird
in diesem Fall aber nicht abgebrochen.
Hinweis: Warnmeldungen des Compilers können mit COMPILER "WARNINGS OFF" abgeschaltet werden.
Befehl ist nicht implementiert
Sie haben einen Befehl benutzt, der in Omikron Basic 6 nicht implementiert ist. Sie müssen diesen Befehl durch
andere ersetzen.
Division durch Null-Konstante
Es wurde durch eine Konstante definiert, die den Wert 0 hat.
Falscher RETURN-Typ
Eine mehrzeilige Funktion muß den Variablentyp zurückgeben, den sie als Postfix im Namen trägt.
Falsch: DEF FN Addiere#(X,Y):RETURN X+Y (Es wird Integer zurückgegeben, obwohl die Funktion das Floatpostfix
trägt)
Richtig: DEF FN Addiere#(X#,Y#):RETURN X#+Y#
Auch richtig: DEF FN Addiere#(X,Y):RETURN CDBL(X+Y)
FPU-Überlauf
Dieser Warnhinweis tritt auf, wenn während der Übersetzungszeit in ein Fließkommaformat gewandelt
wird, das die gewünschte Zahl nicht darstellen kann, weil sie zu groß oder zu klein ist.
INLINE-Länge muß ein Vielfaches von 8 sein
Da jeder PowerPC-Befehl genau 4 Byte lang ist und man zur Kodierung von 4 Byte 8 Hexadezimalzahlen benötigt,
muß die Länge des Stringausdrucke hinter INLINE ein Vielfaches von 8 sein.
MEMORY_BLOCK hat falsche Größe
Ein MEMORY_BLOCK hat nicht die Größe, die er nach den Angaben im Befehl haben müßte. So etwas
kann passieren, wenn der gleiche Block mehrmals definiert wurde (Der Identifier hinter dem Befehl darf nur einmal
verwendet werden)..
Tokenizer Fehlerzeile - : XXXXX
Der Compiler ist auf eine Zeile gestoßen, die schon vom Tokenizer des Editors als fehlerhaft markiert wurde
Unbenutzte Statements
Die nach der Warnung aufgelisteten Prozeduren, Funktionen und Labels werden im gesamten Programm nicht benutzt.
Sie können also gelöscht oder auskommentiert werden.
Unerlaubtes COMPILER-Statement
Es wurde ein Compiler-Steuerwort benutzt, das es nicht gibt. Der Fehler kann also nur in Zeilen mit COMPILER Anweisungen
auftreten.
Unerlaubtes ON ...
Der Befehl ON wurde in einer unzulässigen Syntax verwendet
Zahlenbereich überschritten
Sie haben versucht, einer Integer-Konstanten einen Wert zuzuweisen, der außerhalb des Wertebereichs dieses
Typs liegt.
Fehlermeldungen des Omikron Basics blättern
Fehlermeldungen des MacOS